As you might expect, the programming fabric of WCF is represented by a set of .NET assemblies installed into the GAC. Table 25-1 describes the overall role of the core WCF assemblies you need to use in just about any WCF application.
Table 25-1. Core WCF Assemblies
Assembly | Meaning in Life |
---|---|
System.Runtime.Serialization.dll | Defines namespaces and types that you can use for serializing and deserializing objects in the WCF framework. |
System.ServiceModel.dll | This core assembly contains the types used to build any sort of WCF application. |
These two assemblies define many new namespaces and types. You should consult the .NET Framework 4.0 SDK documentation for complete details; however, Table 25-2 documents the roles of some of the important namespaces.
Table 25-2. Core WCF Namespaces
Namespace | Meaning in Life |
---|---|
System.Runtime.Serialization | Defines many types you use to control how data is serialized and deserialized within the WCF framework. |
System.ServiceModel | This primary WCF namespace defines binding and hosting types, as well as basic security and transactional types. |
System.ServiceModel.Configuration | Defines numerous types that provide programmatic access to WCF configuration files. |
System.ServiceModel.Description | Defines types that provide an object model to the addresses, bindings, and contracts defined within WCF configuration files. |
System.ServiceModel.MsmqIntegration | Contains types to integrate with the MSMQ service. |
System.ServiceModel.Securit | Defines numerous types to control aspects of the WCF security layers. |
In addition to System.ServiceModel.dll and System.Runtime.Serialization.dll, WCF provides a third assembly named System.IdentityModel.dll. This assembly contains many additional namespaces and types that support the CardSpace API. This technology allows you to establish and manage digital identities within a WCF application. Essentially, the CardSpace API provides a unified programming model to account for various security-related details for WCF applications, such as caller identity, user authentication/authorization services, and so on.
You will not examine CardSpace further in this edition of the book, so be sure to consult the .NET Framework 4.0 SDK documentation if you want to learn more.